A Simplified Method for Establishing the Correctness of Architectural Refinements
نویسنده
چکیده
My colleagues and I developed an approach to proving correctness of architectural reenement hierarchies that depended upon treating architectural speciications as axiomatizations of rst-order theories. This paper explores the consequences of an alternative approach to formalizing the content of speciications in logic. A speciication is treated as a depiction of a particular relational structure, which is intended to be a mathematical model of the system being speciied. As a result, speciications now correspond to much stronger (in fact, complete) theories. Although the criterion for reenement cor-rectness | that the theory corresponding to the higher-level speciication can be faithfully interpreted in the theory corresponding to the lower-level spec-iication | remains the same, the technique for proving correctness is quite diierent: proving that a mapping is a theory interpretation is more complex, though still largely a matter of calculation, but faithfulness is trivially guaranteed. The net result is a substantial simpliication of correctness proofs, as a comparison of proofs of a simple reenement pattern illustrates. 1. Two Approachs to Establishing Correctness In a previous paper 5], my colleagues and I presented an approach to proving correctness of architectural reenement patterns. A correspondence between architectural speciications, such as the high-level compiler speciication in Figure 1, and theories in rst-order logic was deened in terms of a mapping from speciication elements to axioms for the theories. 1 For example, the presence of the dataaow connector that carries objects of type AST (i.e., abstract syntax trees) from the parser component to the analyzer/optimizer component in Figure 1 corresponds to the axioms Channel(ast intermediate) 8x 0 AST(x 0) ! Can Carry(ast intermediate; x 0)] The theory that corresponds to a speciication is simply the set of all consequences of the axioms obtained from the elements of the speciication, together with general axioms that constrain the meanings of the component, port, and connector predicates that appear in the speciication. This theory is rather weak, in the sense that it does not determine the truth value of many sentences in the language. For example, it does not contain any explicit 1 Strictly speaking, the content of the informal dataaow diagram was formalized in a textual speciication language. For the purposes of this paper, let us eliminate the middleman and pretend that diagrammatic representations are suuciently precise to serve as formal architectural speciications.
منابع مشابه
A Simplified Curved Boundary Condition in Stationary/Moving Boundaries for the Lattice Boltzmann Method
Lattice Boltzmann method is one of computational fluid dynamic subdivisions. Despite complicated mathematics involved in its background, end simple relations dominate on it; so in comparison to the conventional computational fluid dynamic methods, simpler computer programs are needed. Due to its characteristics for parallel programming, this method is considered efficient for the simulation of ...
متن کاملA formal method for provably correct composition of a real-life processor out of basic components. (The APE100 Reverse Engineering Study
We present a design approach which allows us to formally specify a real–life processor as composed out of its basic architectural (formally specified) components. The methodology provides means to rely upon hierarchical refinements and modular structuring of the specifications as a discipline to control the behaviour of complex units in terms of the behaviour of their components. In particular ...
متن کاملCorrect Architecture Refinement
A method is presented for the stepwise refinement of an abstract architecture into a relatively correct lower level architecture that is intended to implement it. A refinement step involves the application of a predefined refinement pattern that provides a routine solution to a standard architectural design problem. A pattern contains an abstract architecture schema and a more detailed schema i...
متن کاملType Refinements for Compiler Correctness
Type refinements, introduced by Freeman and Pfenning and explored by Davies and Dunfield, unify the ontological and epistemic views of typing. Types tell us what programming language constructs exist, whereas refinements express properties of the values of a type. Here we show that refinements are very useful in compiler correctness proofs, wherein it often arises that two expressions that are ...
متن کاملA Trust Based Probabilistic Method for Efficient Correctness Verification in Database Outsourcing
Correctness verification of query results is a significant challenge in database outsourcing. Most of the proposed approaches impose high overhead, which makes them impractical in real scenarios. Probabilistic approaches are proposed in order to reduce the computation overhead pertaining to the verification process. In this paper, we use the notion of trust as the basis of our probabilistic app...
متن کامل